作者: xiaoman
2022-01-02
默认情况下flask
不会开启DEBUG
模式,开启DEBUG
模式后,flask 会在每次保存代码的时候自动的重新载入代码,并且如果代码有错误,会在终端进行提示。
如果一切正常,会在终端打印以下信息:
* Restarting with stat
* Debugger is active!
* Debugger pin code: 294-745-044
* Running on http://0.0.0.0:9000/ (Press CTRL+C to quit)
需要注意的是,只能在开发环境下开启DEBUG
模式,因为DEBUG
模式会带来非常大的安全隐患。
Flask
项目的配置,都是通过app.config
对象来进行配置的。比如要配置一个项目的SECRET_KEY
,那么可以使用app.config['SECRET_KEY'] = "xxx"
来进行设置,在Flask
项目中,有四种方式进行项目的配置:
直接硬编码:
app = Flask(__name__)
app.config['SECRET_KEY'] = "xxx"
因为app.config
是flask.config.Config
的实例,而Config
类是继承自dict
,因此可以通过update
方法:
app.config.update(
DEBUG=True,
SECRET_KEY='...'
)
如果你的配置项特别多,你可以把所有的配置项都放在一个模块中,然后通过加载模块的方式进行配置,假设有一个settings.py
模块,专门用来存储配置项的,此时你可以通过app.config.from_object()
方法进行加载,并且该方法既可以接收模块的的字符串名称,也可以模块对象:
# 1. 通过模块字符串
app.config.from_object('settings')
# 2. 通过模块对象
import settings
app.config.from_object(settings)
也可以通过另外一个方法加载,该方法就是app.config.from_pyfile()
,该方法传入一个文件名,通常是以.py
结尾的文件,但也不限于只使用.py
后缀的文件:
app.config.from_pyfile('settings.py',silent=True)
# silent=True表示如果配置文件不存在的时候不抛出异常,默认是为False,会抛出异常。
Flask
项目内置了许多的配置项,所有的内置配置项,可以在这里查看。